Using Program Slicing to Identify Faults in Software
نویسندگان
چکیده
This study explores the relationship between program slices and faults. The aim is to investigate whether the characteristics of program slices can be used to identify faultprone software components. Slicing metrics and dependence clusters are used to characterise the slicing profile of a software component, then the relationship between the slicing profile of the component and the faults in that component are then analysed. Faults can increase the likelihood of a system becoming unstable causing problems for the development and evolution of the system. Identifying faultprone components is difficult and reliable predictors of faultproneness not easily identifiable. Program slicing is an established software engineering technique for the detection and correction of specific faults. An investigation is carried out into whether the use of program slicing can be extended as a reliable tool to predict fault-prone software components. Preliminary results are promising suggesting that slicing may offer valuable insights into fault-proneness.
منابع مشابه
Using Program Slicing Technique to Reduce the Cost of Software Testing
Systems of computers and their application in the lives of modern human beings are vastly expanding. In any kind of computer application, failure in computer systems can lead to a range of financial and mortal losses. Indeed, the major origin of software failure can be located in designing or implementing software. With regard to these statistics, 30% of the software projects have been prospero...
متن کاملProgram Slicing Tool for Effective Software Evolution Using Aspect-Oriented Technique
One of the issues in software evolution is debugging. Debugging large and complex software systems evolved requires a lot of effort since it is very difficult to localize and identify faults. Therefore, reducing the effort of debugging process is an important step towards efficient software evolution. Program slicing, especially dynamic slicing, has been proposed to efficiently localize faults ...
متن کاملOn the relationship between model-based debugging and program slicing
Program slicing is a general, widely-used, and accepted technique applicable to different software engineering tasks including debugging, whereas model-based diagnosis is an AI technique originally developed for finding faults in physical systems. During the last years it has been shown that model-based diagnosis can be used for software debugging. In this paper we discuss the relationship betw...
متن کاملAnalysis of Bug Fixing Processes Using Program Slicing Metrics
This paper is a report of a feasibility study into an alternative assessment of software processes at the micro-level. Using the novel approach of applying program slicing metrics to identify bug characteristics, the research studied relationships between bug characteristics and their bug fixing processes. The results suggested that specific characteristics such as cyclomatic complexity may rel...
متن کاملHeuristics for Automatic Localization of Software Faults
Developing effective debugging strategies to guarantee the reliability of software is important. By analyzing the debugging process used by experienced programmers, four distinct tasks are found to be consistently performed: (1) determining statements involved in program failures, (2) selecting suspicious statements that might contain faults, (3) making hypotheses about suspicious faults (varia...
متن کامل